A wireless distributed network includes a plurality of nodes that communicate with each other, to transmit one or more messages to a destination location. The nodes can be deployed over a large area, providing a combination of communication paths between a source and the destination. The nodes, however, are not continuously involved in the transmission of messages. Moreover, at any given instance, not all nodes are required for message transmission. To conserve energy, the nodes are maintained alternately in an active (awake) state and an inactive (asleep) state by implementing a sleep scheduling algorithm.
A typical sleep scheduling algorithm selects one or more nodes to remain awake at a given instance, placing the remaining nodes in a minimal power or sleep mode. The number of awake nodes may change for different instances in order to increase network lifetime by distributing one or more network related activities, for example, processing, routing, and so on, across all the nodes in the network. A sleep scheduling algorithm may seek to maintain a set of active nodes so that every point of deployment space is covered and hence maintain a connected backbone. The connected backbone is structured in a manner that allows inactive nodes to be immediate neighbors to nodes that are awake.
Too many active nodes at any given instance results in energy loss and too few active nodes may result in the loss of transmission. Accordingly, there is an ongoing need to improve sleep scheduling techniques.